#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
B站视频下载器 - PyQt6版本主程序
现代化深色主题UI实现
"""

import sys
import os
from PyQt6.QtWidgets import QApplication
from PyQt6.QtCore import Qt
from PyQt6.QtGui import QFont

# 添加项目根目录到Python路径
sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))

# 导入GUI模块
from gui_qt.styles.theme import apply_dark_theme
from gui_qt.main_window import MainWindowQt

class BilibiliDownloaderApp:
    """
    B站视频下载器应用程序类
    """
    
    def __init__(self):
        # 创建QApplication实例
        self.app = QApplication(sys.argv)
        
        # 设置应用程序属性
        self.app.setApplicationName("Bilibili视频下载器")
        self.app.setApplicationVersion("2.0.0")
        self.app.setOrganizationName("BilibiliDownloader")
        
        # 启用高DPI支持
        self.app.setAttribute(Qt.ApplicationAttribute.AA_EnableHighDpiScaling, True)
        self.app.setAttribute(Qt.ApplicationAttribute.AA_UseHighDpiPixmaps, True)
        
        # 设置默认字体
        font = QFont("Microsoft YaHei", 9)
        self.app.setFont(font)
        
        # 应用深色主题
        apply_dark_theme(self.app)
        
        # 创建主窗口
        self.main_window = MainWindowQt()
        
        print("PyQt6应用程序初始化完成")
        
    def run(self):
        """
        启动应用程序
        """
        # 显示主窗口
        self.main_window.show()
        
        # 启动事件循环
        return self.app.exec()

def main():
    """
    主函数
    """
    try:
        app = BilibiliDownloaderApp()
        sys.exit(app.run())
    except Exception as e:
        print(f"应用程序启动失败: {e}")
        sys.exit(1)

if __name__ == "__main__":
    main()